package com.select.course.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.select.course.entity.SchoolCourse;
import com.select.course.entity.UserStudent;
import com.select.course.utils.PageUtils;
import com.select.course.utils.R;
import com.select.course.vo.*;
import org.springframework.lang.Nullable;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
* @author 24820
* @description 针对表【c_user_student】的数据库操作Service
* @createDate 2022-10-26 10:21:42
*/
public interface UserStudentService extends IService<UserStudent> {

    R login(StudentVo loginVo);

    R deleteStudent(String userId);

    R addStudent(StudentVo studentVo);

    StudentVo getStuByIdNumber(String userId);


    void updateStudent(StudentVo studentVo);

    PageUtils getStudentList(PageVo pageVo);

    void selectCourse(String courseId, String idNumber);

    PageUtils getSelectedCourse(CoursePageVo coursePageVo);

    List<CourseVo> getKeChengBiao(String userId);

    void deleteCourse(String courseId, String userId);

    CourseVo packageCourseVo(SchoolCourse schoolCourse, CourseVo courseVo);

    SumarizeVo getXueFenBiao(String userId);

    SumarizeVo getXueFenXuna(String userId);

    CourseVo getCuuri(String courseId);

    StudentVo getStudentSelf(String userId);

    StudentVo packageStudentVo(UserStudent userStudent);

    UserStudent packageStudent(StudentVo studentVo);

    Map<String, String> packageCollegeAndMajor(@Nullable Long collegeId, @Nullable Long majorId, @Nullable Long classId);

    Map<String, Long> releaseCollegeAndMajor(@Nullable String collegeName, @Nullable String majorName, @Nullable String className);

    R importData(MultipartFile file);

    void exportData(HttpServletResponse response);
}
